REM ****************************************************************************
REM  Free Play levels - KeeperFX
REM ****************************************************************************
REM  Script for Level Secrets of the Lava Dwellers
REM  Author:  SpicycuisineYGO 
REM  Date:    2024-10-13
REM  Copying and copyrights:
REM    This program is free software; you can redistribute it and/or modify
REM    it under the terms of the GNU General Public License as published by
REM    the Free Software Foundation; either version 2 of the License, or
REM    (at your option) any later version.
REM ****************************************************************************


LEVEL_VERSION(1)
SET_GENERATE_SPEED(6000)
START_MONEY(ALL_PLAYERS,2500)
MAX_CREATURES(ALL_PLAYERS,25)

ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)

REM Action Points and Hero Gates
REM Action Point 1 - Hounds Taken
REM Action Point 2 - Training Room Bridge
REM Action Point 3 - Horny Room
REM Action Point 4 - Guarded North Bridge
REM Action Point 5 - Big Treasure Room
REM Action Point 6 - Prison Door
REM Action Point 7 - Heart Entrance
REM Action Point 8 - Small treasure
REM Action Point 9 - Torture room
REM Action Point 10 - Workshop
REM Action Point 11 - Library
REM Action Point 12 - Temple
REM Action Point 13 - Prison
REM Action Point 14 - Training Room
REM Action Point 15 - Bridge Warning
REM Action Point 16 - Real bridge
REM Action Point 17 - 2nd fake bridge
REM Action Point 18 - 3rd fake bridge
REM Action Point 19 - Castle Entrance
REM Action Point 20 - Be carefull

REM Hero Gate 1 - Library Gate
REM Hero Gate 2 - Workshop Gate
REM Hero Gate 3 - South West, Lava Gate
REM Hero Gate 4 - North, Lava Gate
REM Hero Gate 5 - South, Lava Gate
REM Hero Gate 6 - Centre, Bridge Gate
REM Hero Gate 7 - Big Treasure Gate
REM Hero Gate 8 - Castle Entrence Gate
REM Hero Gate 9 - Temple Gate
REM Hero Gate 10 - Castle 3rd Gate
REM Hero Gate 11 - Castle 2nd Gate
REM Hero Gate 12 - Caslte 4rd Gate
REM Hero Gate 13 - White Heart Gate one
REM Hero Gate 14 - White Heart Gate two
REM Hero Gate 15 - White Heart Gate three
REM Hero Gate 16 - Small Castle Gate
REM Hero Gate 17 - West Lava Gate  

REM ****************************************************************************
REM Hero Parties
REM ****************************************************************************

CREATE_PARTY(First_Room)
	ADD_TO_PARTY(First_Room,FAIRY,4,50,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(Pinata)
	ADD_TO_PARTY(Pinata,FAIRY,4,50,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(Pinata,FAIRY,4,50,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(Pinata2)
	ADD_TO_PARTY(Pinata2,FAIRY,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Pinata2,FAIRY,4,500,ATTACK_ENEMIES,0)

CREATE_PARTY(Cake)
	ADD_TO_PARTY(Cake,GIANT,7,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,GIANT,7,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,BARBARIAN,7,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,BARBARIAN,7,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,DWARFA,7,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cake,DWARFA,7,500,ATTACK_ENEMIES,0)
		
CREATE_PARTY(Snacks)
	ADD_TO_PARTY(Snacks,DWARFA,3,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Snacks,DWARFA,3,50,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Snacks,DWARFA,3,50,ATTACK_ENEMIES,0)

CREATE_PARTY(Shots)
	ADD_TO_PARTY(Shots,THIEF,10,1500,STEAL_GOLD,0)
	ADD_TO_PARTY(Shots,THIEF,10,1500,STEAL_GOLD,0)
	
CREATE_PARTY(Cleanup)
	ADD_TO_PARTY(Cleanup,SAMURAI,10,5000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cleanup,SAMURAI,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cleanup,KNIGHT,10,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(Cleanup,KNIGHT,10,200,ATTACK_ENEMIES,0)

REM ****************************************************************************
REM Level starts here
REM ****************************************************************************

REM "Your influence has reached a new realm. Technology and other resourches are hard to come by. Make do with the resourches you can find, manage them well. The natives don't know the true meaning of hospitality. Teach Them"

************
REM Actionpoint behavior
************

IF_ACTION_POINT(1,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,1)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-4,2)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-1,1)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-17,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-5,2)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Shots,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Shots,-16,2)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-17,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-9,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-6,2)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-6,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-7,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-8,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-9,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-10,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-12,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-13,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-14,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-15,2)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
    	QUICK_INFORMATION(0,"This room will help you take the well guarded training room. But be carefull, taking rooms and bridges will not be without risk. Protect yourself and your Imps",20)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,First_Room,-3,2)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata2,-17,2)
ENDIF

IF_ACTION_POINT(11,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
ENDIF

IF_ACTION_POINT(12,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-11,2)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-11,2)
ENDIF

IF_ACTION_POINT(14,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-2,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Snacks,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-3,2)
ENDIF

IF_ACTION_POINT(15,PLAYER0)
	QUICK_INFORMATION(1,"Are you well equiped for battle keeper?",20)
ENDIF

IF_ACTION_POINT(16,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-16,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-4,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-3,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Pinata,-17,2)
ENDIF

IF_ACTION_POINT(17,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-6,2)
ENDIF

IF_ACTION_POINT(18,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-11,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cake,-1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Cleanup,-6,2)
ENDIF

IF_ACTION_POINT(19,PLAYER0)
    	QUICK_INFORMATION(4,"Prepare for a large invasion if you enter the heroes castle",20)
ENDIF

IF_ACTION_POINT(20,PLAYER0)
    	QUICK_INFORMATION(2,"Maybe scout first before traveling South",20)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	IF_CONTROLS(PLAYER_GOOD,KNIGHT <= 0)
		IF_CONTROLS(PLAYER_GOOD,SAMURAI <= 0)	
			WIN_GAME
		ENDIF
	ENDIF
ENDIF


	
